SPA での CSRF 對策
CSRF token を發行する backend が HTML を弄れる場合
meta 要素等に含めて frontend に CSRF token を傳へる。frontend は CSRF token を meta 要素から讀み取って、request body に含める
CSRF token を發行する backend が HTML を弄れない場合
CSRF token を cookie に入れて傳へる
POST request を行ふ操作を含む頁を返す時に、CSRF token を cookie に入れて傳へる
backend は POST request を受けた時に、cookie 內の CSRF token と session 內の CSRF token とを照合しちゃ駄目だよ。request body 內の CSRF token を照合するんだよ
CSRF token を cookie に設定する專用の API を叩く
GET /csrf-token
XMLHttpRequest でも、Set-Cookie を返せば覺えられる
HttpOnly にはできない
Secure; SameSite: Strict にしておく